
function sendData(code,msg,data){

    return {code,msg,data}

}

module.exports = app =>{

    const userData = require('../src/data/user.json')
   
    // 登录

    app.post('/user/login',(req,res,next)=>{
        const {user,pwd} = req.body;

        let index = userData.findIndex(item=>item.user === user)

        if(index === -1){
            res.send(sendData(0,'用户未注册'))
            return 
        }

        if(userData[index].pwd !== pwd){
            res.send(sendData(0,'密码错误'))
            return 
        }

        res.send(sendData(1,'登录成功'))

    })

    const activeData = require('../src/data/active.json')

    // 活动积分列表
    app.get('/integral/activeList',(req,res,next)=>{

        res.send(sendData(1,'请求成功',activeData))
    })

    // 活动积分搜索
    app.post('/integral/active/search',(req,res,next)=>{
        const {key} = req.body;
        // 精准搜索 let list = activeData.filter(item=>item.name === key)
        let list = activeData.filter(item=>item.name.indexOf(key)!==-1)
        if(!list.length){
            res.send(sendData(0,'暂无搜索结果数据返回'))
            return
        }
        res.send(sendData(1,'请求成功',list))
    })

    // 活动积分删除
    app.post('/integral/active/detele',(req,res,next)=>{
        const {id} = req.body;

        let index = activeData.findIndex(item=>item.id === id);

        if(index === -1){
            res.send(sendData(0,'数据不存在无法删除'))
            return
        }

        activeData.splice(index,1)
        res.send(sendData(1,'删除成功',activeData))
    })


    const saleData = require('../src/data/sale.json')

    // 促销积分列表
    app.get('/integral/saleList',(req,res,next)=>{
        res.send(sendData(1,'请求成功',saleData))
    })

    // 促销列表模糊搜索
    app.post('/integral/sale/search',(req,res,next)=>{
        const {name,type,startTime,endTime} = req.body;
        let list = [...saleData]

        if(name !== ''){
            list = list.filter(item=>item.name.includes(name))
        }
        if(type !== '0000'){
            list = list.filter(item=>item.type === type)
        }
        if(startTime !== ''){
            
            list = list.filter(item=>item.startTime<=startTime)
        }
        if(endTime !== ''){
           
            list = list.filter(item=>item.endTime>=endTime)
        }


        res.send(sendData(1,'查询成功',list))

    })

    // 工作台的图表接口
    app.get('/data/work',(req,res,next)=>{

        let data = []
      
        let type =  Array.from(new Set(saleData.map(item=>item.typeName)))

        type.forEach(k=>
            data.push({
            type:k,
            num:0
        }))


        saleData.forEach(i=>{
            data.forEach(j=>{
                if(i.typeName === j.type){
                    ++j.num 
                }
            })
                
        })
      
        res.send(sendData(1,'查询成功',data))
    })  
    
}